As data processing systems become more complex, the task of system maintenance becomes more complex. To provide more efficient and economical maintenance procedures, a data processing system typically may be divided into sections that can be independently diagnosed. Diagnostic circuitry is used to detect hardware faults in these various sections of the system and specifically in the system processor.
Several approaches have been proposed for using diagnostic circuitry to identify operational faults in the system processor of a data processing system. One such approach is found in U.S. Pat. No. 4,315,314 issued to P. M. Russo. There, diagnostic logic is connected to the system processor and diagnostic subroutines are stored in a memory location external to the system processor. When a hardware fault is suspected, externally generated service requests interrupt the normal system processor operation and disable the main memory. Thereafter, the system processor accesses the externally located diagnostic subroutines and executes those subroutines. This method of isolating hardware faults relies on the normal accessing operation of the system processor and, therefore, hardware fault isolation is precluded when the system processor is nonoperational.
Another approach using diagnostic circuitry to identify hardware faults in the system processor is found in U.S. Pat. No. 4,315,313 issued to A. G. Taylor et al. There, each replaceable module or circuit board located in the system processor is associated with a diagnostic snap shot circuit. The testing of each individual board is independent of all other boards. Each diagnostic snap shot circuit records signals or data from various test points on the associated board in response to a snap shot command. The test data for each board is thereafter analyzed, and an independent fault determination is made for each board. This method of diagnosing hardware faults is incomplete because the boards are tested in an artificial environment. That is, each board is tested on a random individual basis which isolates each board from the many normal processing operations that are dependent on circuitry located on other system processor boards. Further, since this method of diagnosing hardware failures requires additional processor space to accommodate one diagnostic snap shot circuit per board, it provides a noneconomical solution to diagnosing hardware failures.
There has accordingly arisen a need for diagnostic circuitry that can accomplish the process of diagnosing hardware failures in a system processor so that a field engineer can carry out maintenance procedures simply and efficiently. There presently exists no diagnostic circuitry that monitors board level circuits by a single diagnostic device and that tests such circuitry in a manner analogous to normal processing operations.